home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / cmln0386.arc / CROSSTH4.LTG < prev    next >
Text File  |  1986-03-03  |  768b  |  36 lines

  1.  
  2.  
  3.                            Listing 4. 
  4.            Example of dynamic open arrays in Modula-2.
  5.  
  6.  
  7. MODULE Average;
  8.  
  9. FROM InOut IMPORT WriteString, WriteLn;
  10. FROM RealInOut IMPORT WriteReal;
  11.  
  12. CONST FIRST = 1;
  13.       LAST = 10;
  14.  
  15. VAR Vector : ARRAY [FIRST..LAST] OF REAL;
  16.     i : CARDINAL;
  17.  
  18. PROCEDURE GetMean(X : ARRAY OF REAL) : REAL;
  19.  
  20. VAR i, Hi : CARDINAL;
  21.     Sum : REAL;
  22.  
  23. BEGIN
  24.    Hi := HIGH(X);
  25.    Sum := 0.0;
  26.    FOR i := 0 TO Hi DO
  27.       Sum := Sum + X[i]
  28.    END;
  29.    RETURN Sum / FLOAT(Hi+FIRST);
  30. END GetMEan;
  31.  
  32. BEGIN
  33.   FOR i := FIRST TO LAST DO  Vector[i] := FLOAT(i) END;è  WriteString("The average of the numbers = );
  34.   WriteReal(GetMean(Vector),14); WriteLn;
  35. END Average.
  36.